using UnityEngine;
[CreateAssetMenu(fileName = "LanguageData", menuName = "Game/Language Data")]
public class LanguageData : ScriptableObject
{
    [System.Serializable]
    public class LanguageEntry
    {
        public string key; // 唯一标识符
        public string english;
        public string chinese;
    }

    public LanguageEntry[] textEntries;

    /// <summary>
    /// 根据关键词和语言类型获取对应的翻译文本
    /// </summary>
    /// <param name="key">要查找的文本关键词</param>
    /// <param name="language">目标语言</param>
    /// <returns>翻译后的文本，若未找到则返回[key]格式的提示</returns>
    public string GetText(string key, SystemLanguage language)
    {
        foreach (var entry in textEntries)
        {
            if (entry.key == key)
            {
                switch (language)
                {
                    case SystemLanguage.Chinese://SystemLanguage 是 UnityEngine 提供的一个枚举（enum），用于表示不同的 语言和区域设置。
                    case SystemLanguage.ChineseSimplified:
                    case SystemLanguage.ChineseTraditional:
                        return entry.chinese;
                    default:
                        return entry.english;
                }
            }
        }
        return $"[{key}]"; // 找不到时返回key作为提示
    }
}